--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/frontend/registries.test.js c0b0ddffd735a0d007c1be9a5e8563ec42fdafc0 (c0b0ddff) Text, 4.72 KB
T8b949e// SPDX-License-Identifier: 0BSD
Tff7b72import Tb4b4b4{ Te6edf3describeTb4b4b4, Te6edf3expectTb4b4b4, Te6edf3itTb4b4b4, Te6edf3beforeEach Tb4b4b4} Tff7b72from Ta5d6ff"vitest"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3createRegistry Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/registryCore.js"Tb4b4b4;
Tff7b72import Tb4b4b4{
Te6edf3navRegistryTb4b4b4,
Te6edf3registerNavItemTb4b4b4,
Te6edf3unregisterNavItemTb4b4b4,
Te6edf3listNavItemsTb4b4b4,
Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/navRegistry.js"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3toolsRegistryTb4b4b4, Te6edf3registerToolTb4b4b4, Te6edf3listTools Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/toolsRegistry.js"Tb4b4b4;
Tff7b72import Tb4b4b4{
Te6edf3commandRegistryTb4b4b4,
Te6edf3registerCommandTb4b4b4,
Te6edf3listCommandsTb4b4b4,
Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/commandRegistry.js"Tb4b4b4;
Tff7b72import Tb4b4b4{
Te6edf3settingsSectionRegistryTb4b4b4,
Te6edf3registerSettingsSectionTb4b4b4,
Te6edf3getAllSettingsSectionKeywordsTb4b4b4,
Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/settingsSectionRegistry.js"Tb4b4b4;
Tff7b72import Tb4b4b4{
Te6edf3registerCoreContributionsTb4b4b4,
Te6edf3resetCoreContributionsForTestsTb4b4b4,
Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/registerCoreContributions.js"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3CORE_NAV_ENTRIES Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/coreNavEntries.js"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3CORE_TOOLS_ENTRIES Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/coreToolsEntries.js"Tb4b4b4;
Tff7b72import Tb4b4b4{
Te6edf3postInstallPromptRegistryTb4b4b4,
Te6edf3listPostInstallPromptsTb4b4b4,
Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/postInstallPromptRegistry.js"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3CORE_POST_INSTALL_PROMPT_ENTRIES Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/registries/corePostInstallPromptEntries.js"Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"registryCore"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"registers and lists entries"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3registry Tff7b72= Te6edf3createRegistryTb4b4b4(Ta5d6ff"test"Tb4b4b4)Tb4b4b4;
Te6edf3registryTb4b4b4.Te6edf3registerTb4b4b4(Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"a"Tb4b4b4, Te6edf3valueTff7b72: T79c0ff1 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3registryTb4b4b4.Te6edf3registerTb4b4b4(Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"b"Tb4b4b4, Te6edf3valueTff7b72: T79c0ff2 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3registryTb4b4b4.Te6edf3listTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3registryTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tff7b72?Tb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rejects duplicate ids"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3registry Tff7b72= Te6edf3createRegistryTb4b4b4(Ta5d6ff"test"Tb4b4b4)Tb4b4b4;
Te6edf3registryTb4b4b4.Te6edf3registerTb4b4b4(Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"dup" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3registryTb4b4b4.Te6edf3registerTb4b4b4(Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"dup" Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toThrowTb4b4b4(Ta5d6ff/duplicate/Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"unregisters entries"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3registry Tff7b72= Te6edf3createRegistryTb4b4b4(Ta5d6ff"test"Tb4b4b4)Tb4b4b4;
Te6edf3registryTb4b4b4.Te6edf3registerTb4b4b4(Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"x" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3registryTb4b4b4.Te6edf3unregisterTb4b4b4(Ta5d6ff"x"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3registryTb4b4b4.Te6edf3listTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"contribution registries"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3beforeEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3resetCoreContributionsForTestsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3navRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3toolsRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3commandRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3settingsSectionRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3postInstallPromptRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"registers nav items"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3registerNavItemTb4b4b4(Tb4b4b4{
Te6edf3idTff7b72: Ta5d6ff"test"Tb4b4b4,
Te6edf3routeTff7b72: Tb4b4b4{ Te6edf3nameTff7b72: Ta5d6ff"about" Tb4b4b4}Tb4b4b4,
Te6edf3iconTff7b72: Ta5d6ff"information"Tb4b4b4,
Te6edf3labelKeyTff7b72: Ta5d6ff"app.about"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3listNavItemsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3unregisterNavItemTb4b4b4(Ta5d6ff"test"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3listNavItemsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"registers tools by name"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3registerToolTb4b4b4(Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"custom-tool"Tb4b4b4,
Te6edf3routeTff7b72: Tb4b4b4{ Te6edf3nameTff7b72: Ta5d6ff"ping" Tb4b4b4}Tb4b4b4,
Te6edf3iconTff7b72: Ta5d6ff"radar"Tb4b4b4,
Te6edf3iconBgTff7b72: Ta5d6ff"tool-card__icon"Tb4b4b4,
Te6edf3titleKeyTff7b72: Ta5d6ff"tools.ping.title"Tb4b4b4,
Te6edf3descriptionKeyTff7b72: Ta5d6ff"tools.ping.description"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3listToolsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3listToolsTb4b4b4(Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"custom-tool"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"registers commands"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3registerCommandTb4b4b4(Tb4b4b4{
Te6edf3idTff7b72: Ta5d6ff"cmd-test"Tb4b4b4,
Te6edf3titleTff7b72: Ta5d6ff"nav_ping"Tb4b4b4,
Te6edf3descriptionTff7b72: Ta5d6ff"nav_ping_desc"Tb4b4b4,
Te6edf3iconTff7b72: Ta5d6ff"radar"Tb4b4b4,
Te6edf3typeTff7b72: Ta5d6ff"navigation"Tb4b4b4,
Te6edf3routeTff7b72: Tb4b4b4{ Te6edf3nameTff7b72: Ta5d6ff"ping" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3listCommandsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"registers settings section keywords"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3registerSettingsSectionTb4b4b4(Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"plugins"Tb4b4b4, Te6edf3keywordsTff7b72: Tb4b4b4[Ta5d6ff"Plugins"Tb4b4b4, Ta5d6ff"extensions"Tb4b4b4] Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3getAllSettingsSectionKeywordsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3pluginsTb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Plugins"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"registerCoreContributions"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3beforeEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3resetCoreContributionsForTestsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3navRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3toolsRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3commandRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3settingsSectionRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3postInstallPromptRegistryTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"loads all core entries once"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3registerCoreContributionsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3registerCoreContributionsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3listNavItemsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(Te6edf3CORE_NAV_ENTRIESTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3listToolsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(Te6edf3CORE_TOOLS_ENTRIESTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3listPostInstallPromptsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(Te6edf3CORE_POST_INSTALL_PROMPT_ENTRIESTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"calls nav entry has a missed-calls pill badge"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3call Tff7b72= Te6edf3CORE_NAV_ENTRIESTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3entryTb4b4b4) Tb4b4b4=> Te6edf3entryTb4b4b4.Te6edf3id Tff7b72=== Ta5d6ff"call"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3callTff7b72?Tb4b4b4.Te6edf3badgeTb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(Tb4b4b4{ Te6edf3sourceTff7b72: Ta5d6ff"missedCallsCount"Tb4b4b4, Te6edf3pillTff7b72: Tff7b72trueTb4b4b4, Te6edf3capTff7b72: T79c0ff99 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────